iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
自我挑戰組

轉職仔與JavaScript的初次相遇系列 第 8

JavaScript函式簡介(下) - Day08

  • 分享至 

  • xImage
  •  

前言

今天我們將說明何謂Higer order function以及JavaScript函式中的callback function和IIFE。

說明

函示運算式(Function expression)

主要使用情境:

  • 當作higher order function的callback function使用

何謂Higher order function?
當函式內包含著另一個函示,舉例來說函示A裡頭有函示B

A(B)

此時我們就會說函示A屬於higher order function
而放在higher order function裡頭的函示就是callback function
callback function可作為參數傳遞给另一個函示,也就是舉例中的函示B

window.addEventListener('click', function(){
  alert('有人在點擊畫面')
})

window代表目前程式碼正在運行的電腦視窗 (通常指瀏覽器視窗),而click代表事件,也就是滑鼠點擊
上例中的addEventListener就屬於higher order function

  • 使用IIFE(Immediately Invokied Function Expression)
    IIFE是一個在宣告的當下就會馬上被執行的函式,其特徵如下:
    首先是一般的function expression
function (a, b){
  console.log (a+b)
}

再來是IIFE的寫法:

(function (a, b){
  console.log(a+b)
})(4,7)

差別在於在原先的function expression外先使用()包覆,後面再使用()呼叫函示並可傳入參數數值

IIFE適合用於此函示只需『使用一次』的情況
由於不需重複使用也就不需要函示名稱,也能防止變數名稱衝突(函示名稱不能重複)


上一篇
JavaScript函式簡介(上) - Day07
下一篇
JavaScript的箭頭函式 - Day09
系列文
轉職仔與JavaScript的初次相遇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言